import { ChatMessage, TeamMember, FileData, SuggestedTask } from './types/models';

export interface AppState {
  user: {
    id: string;
    name: string;
    email: string;
    avatar: string;
    quotaLimit: number;
    quotaUsed: number;
  } | null;
  
  chat: {
    id: string;
    title: string;
    createdAt: Date;
    updatedAt: Date;
    messages: ChatMessage[];
    isLoading: boolean;
  };
  
  team: {
    members: TeamMember[];
    activeMembers: string[];
  };
  
  fileSystem: {
    files: FileData[];
    activeFileId: string | null;
    openFileIds: string[];
  };
  
  tasks: {
    suggestedTasks: SuggestedTask[];
    recentTasks: SuggestedTask[];
  };
  
  ui: {
    sidebarCollapsed: boolean;
    currentView: 'chat' | 'editor' | 'split';
    activeModal: string | null;
    theme: 'dark' | 'light';
    systemNotifications: {
      id: string;
      message: string;
      type: 'info' | 'warning' | 'error' | 'success';
      read: boolean;
    }[];
  };
}